1. Field of the Invention
The present invention relates generally to a system including intercommunicating client and server applications, and more particularly, to such a system, a method and an apparatus for maintaining a database of past transactions in a client device.
2. Related Art
A typical client-server environment includes a client application, such as an Internet web-browser, and a server application respectively executing on independent computer based platforms and communicating with one another. The client application submits information requests to the server application in response to user input at the client end. In response, the server transmits information responses to the client application. A user interacts with the client-server environment using a Graphical User Interface (GUI) of the client application.
Often, a user interacts with a browser such that the browser submits numerous consecutive information and/or branch requests over a relatively short period of time to retrieve information and/or navigate through a plurality of service provider sites (such as an Internet web pages). Using a conventional browser (such as Microsoft Explorer), each of the consecutive requests can effectively cancel or negate a previous request, whereby one or more information and/or branch requests are disadvantageously lost to the user. For example, When the user issues a first requests for a first Internet file (e.g., by designating a Uniform Resource Locator (URL)) and then issues a second request for a different Internet file prior to receiving a response to the first request, the conventional browser fails to display a response to the first request even when such a request is received. From the user""s perspective, the second request negates the first request. This can also occur when the user navigates through web sites. For example, if the user xe2x80x9cclicksxe2x80x9d on a first hypertext link and then xe2x80x9cclicksxe2x80x9d on a second hypertext link prior to a jump to the first link, a jump to the first link fails to occur; thus, initiating the second link effectively negated initiating the first link.
There are many reasons that a user may make consecutive subsequent requests after an initial request. The user may decide that even though the initial request is important, subsequent requests are more important. Alternatively, the user may grow impatient while waiting for a response to the initial request. Whatever the reason, there is a good chance the first request is still of interest to the user.
Therefore, there is a need in a client application to receive and retain multiple server responses to consecutive client requests regardless of the temporal relationship between the multiple responses and consecutive requests. There is a related need in the client to provide the user with a mechanism for retrieving the retained response information and to display such information as necessary.
A large number of client or browser applications can operate in a distributed service environment. A distributed service environment is one in which the numerous client applications interact with one or more server applications, each of the server applications hosting a wide variety of data services provided by a variety of xe2x80x9cprivatexe2x80x9d and possibly public service providers. Wireless client devices including the above mentioned client applications can operate in such a distributed service environment.
Therefore, the above mentioned needs also pertain to wireless devices operating in the distributed environment.
The present invention is directed to a system, method and apparatus for utilizing transaction databases in a client-server environment. In one embodiment, the present invention uses transaction databases to receive and retain multiple server responses to consecutive client requests regardless of the temporal relationship between the multiple responses and consecutive requests.
One embodiment of the present invention is a method used in a client-server system including one or more servers and a client device having a client transaction database and a user interface adapted to enable a user to enter requests. The method enables the client device to accept multiple user requests, receive multiple server responses, and display pages relating to the multiple server responses. The method includes the steps of receiving a first user request from the user via the user interface and sending a first client request based on the first user request. The method also includes the steps of receiving a second user request from the user via the user interface, prior to receiving a response to the first client request, and sending a second client request based on the second user request. When a server response to the first request is received, first information based on the server response (to the first request) is stored in the client transaction database. When a server response to the second request is received, second information based on the server response (to the second request) is stored in the client transaction database.
The method further includes the steps of retrieving one of the first information and the second information from the client transaction database and displaying one of a first display page relating to the first information and a second display page relating to the second information. Then, in response to a further user request from the user via the user interface, the other one of the first information and the second information is retrieved from the client transaction database, and the other one of the first display page and the second display page is displayed. More specifically, in one embodiment, if the server response to the first request is received prior to the server response to the second request, then the first information is retrieved from the client transaction database, and the first display page is displayed. The user can then cause the second information to be retrieved from the client transaction database and displayed by entering a further user request via the user interface. Alternatively, if the server response to the second request is received prior to the server response to the first request, then the second information is retrieved from the client transaction database, and the second display page is displayed. The user can then cause the first information to be retrieved from the client transaction database and displayed by entering a further user request via the user interface. In another embodiment, the display page (i.e., the second display page) relating to the last made client request (i.e., the second client request) is displayed first, regardless of which response was received first. In still another embodiment, a display page relating to the first made client request (i.e., the first client request) is displayed first, regardless of which response was received first.
Another embodiment of the present invention is a method for use in a client-server system including one or more servers and a client device having a client transaction database, a client template database, and a user interface adapted to enable a user to enter requests. The method includes the steps of receiving a user request from the user via the user interface and retrieving a template from the client template database based on the user request. The template includes one or more data fields. The method also includes the step of retrieving information from the client transaction database based on the template, wherein the information relates to the one or more data fields of the template. A page based on the template and the information relating to the one or more data field is then displayed.
The method also includes the steps of receiving a refresh request from the user via the user interface and sending a client request based on the refresh request. Additionally, the method includes the steps of receiving a server response to the client request and storing further information in the client transaction database based on the server response, wherein the further information relates to at least one of the data fields. An updated page is then displayed based on the template and the further information. The updated page can additionally be based on the original information retrieved from the client transaction database.
In another embodiment, the present invention relates to a method for responding to a request from a client device. This method includes the steps of receiving a client request from a client device, wherein the client request includes a template identifier and a client identifier. The method also includes the step of retrieving a template including one or more data fields from a server template database based on the template identifier. The method further includes the steps of collecting first information (e.g., from an information store) relating to the one or more data fields, determining a server response to the request based on the first information, and sending the server response to the client device.
According to another embodiment, the method also includes the steps of retrieving second information from a server transaction database based on the template identifier and the client identifier. In this embodiment the response to the request is determined based on the first information and the second information. For example, in this embodiment the response can be based on differences between the first information and the second information.
A further embodiment of the present invention is directed to a client-server based system for providing a user with information in response to user requests. The system includes a server controller that receives information requests over a communication network and transmits server responses over the communication network in response to the information requests. A client device, coupled to the communication network, is adapted to receive user requests and then transmit the information requests based on the user requests. The client device includes a display for displaying information, wherein the client device is adapted to receive, retain, and display multiple server responses corresponding to consecutive information requests regardless of a temporal relationship between the multiple responses and the consecutive information requests.
Advantages and additional features of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.